package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
/**
 * 收退款-日志
 * @author Ximi
 * @since 2020-07-03
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblReceiveRefundLog extends BaseModel implements Serializable {


    /**
     * 日志操作类型1、调用接口，2、RPA，3、凭证
     */
    @ExcelProperty(value = "日志操作类型1、调用接口，2、RPA，3、凭证")
    @ApiModelProperty(value = "日志操作类型1、调用接口，2、RPA，3、凭证")
    private String type;

    /**
     * 日志操作名称
     */
    @ExcelProperty(value = "日志操作名称")
    @ApiModelProperty(value = "日志操作名称")
    private String name;

    /**
     * 涉及平台类型
     */
    @ExcelProperty(value = "涉及平台类型")
    @ApiModelProperty(value = "涉及平台类型")
    private String ptType;

    /**
     * 涉及平台账号
     */
    @ExcelProperty(value = "涉及平台账号")
    @ApiModelProperty(value = "涉及平台账号")
    private String ptUser;

    /**
     * 店铺代码
     */
    @ExcelProperty(value = "店铺代码")
    @ApiModelProperty(value = "店铺代码")
    private String shopCode;

    /**
     * 店铺名称
     */
    @ExcelProperty(value = "店铺名称")
    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    /**
     * 渠道
     */
    @ExcelProperty(value = "渠道")
    @ApiModelProperty(value = "渠道")
    private String chanel;

    /**
     * 日志操作状态:1、正常，2、异常、3、其他
     */
    @ExcelProperty(value = "日志操作状态:1、正常，2、异常、3、其他")
    @ApiModelProperty(value = "日志操作状态:1、正常，2、异常、3、其他")
    private Integer status;

    /**
     * 日志操作状态码
     */
    @ExcelProperty(value = "日志操作状态码")
    @ApiModelProperty(value = "日志操作状态码")
    private String statusCode;

    /**
     * 是否邮件通知
     */
    @ExcelProperty(value = "是否邮件通知")
    @ApiModelProperty(value = "是否邮件通知")
    private Integer isEmaiMsg;

    /**
     * 数据流向
     */
    @ExcelProperty(value = "数据流向")
    @ApiModelProperty(value = "数据流向")
    private String dataFlow;

    /**
     * 关键字段
     */
    @ExcelProperty(value = "关键字段")
    @ApiModelProperty(value = "关键字段")
    private String keyFields;

    /**
     * 文件路径
     */
    @ExcelProperty(value = "文件路径")
    @ApiModelProperty(value = "文件路径")
    private String fileDir;

    /**
     * 输入数据原始
     */
    @ExcelProperty(value = "输入数据原始")
    @ApiModelProperty(value = "输入数据原始")
    private String inputDataOrigin;

    /**
     * 输入数据
     */
    @ExcelProperty(value = "输入数据")
    @ApiModelProperty(value = "输入数据")
    private String inputData;

    /**
     * 输出数据
     */
    @ExcelProperty(value = "输出数据")
    @ApiModelProperty(value = "输出数据")
    private String outputData;

    /**
     * 操作开始时间
     */
    @ExcelProperty(value = "操作开始时间")
    @ApiModelProperty(value = "操作开始时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date startTime;

    /**
     * 操作结束时间
     */
    @ExcelProperty(value = "操作结束时间")
    @ApiModelProperty(value = "操作结束时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    /**
     * 操作耗费时间
     */
    @ExcelProperty(value = "操作耗费时间")
    @ApiModelProperty(value = "操作耗费时间")
    private Integer time;

    /**
     * 操作相关信息
     */
    @ExcelProperty(value = "操作相关信息")
    @ApiModelProperty(value = "操作相关信息")
    private String msg;

    /**
     * 日志写入时间
     */
    @ExcelProperty(value = "日志写入时间")
    @ApiModelProperty(value = "日志写入时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date insTime;

    /**
     * 记录行变动时间
     */
    @ExcelProperty(value = "记录行变动时间")
    @ApiModelProperty(value = "记录行变动时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date updTime;

}
